load("//bazel:tachyon_cc.bzl", "tachyon_cc_library", "tachyon_cc_unittest")

package(default_visibility = ["//visibility:public"])

filegroup(
    name = "matrix_hdrs",
    srcs = ["baby_bear_row_major_matrix.h"],
)

tachyon_cc_library(
    name = "baby_bear_row_major_matrix",
    srcs = ["baby_bear_row_major_matrix.cc"],
    hdrs = [
        "baby_bear_row_major_matrix.h",
        "baby_bear_row_major_matrix_type_traits.h",
    ],
    deps = [
        "//tachyon/c/math/finite_fields/baby_bear",
        "//tachyon/math/matrix:matrix_types",
    ],
)

tachyon_cc_library(
    name = "matrix",
    deps = [":baby_bear_row_major_matrix"],
)

tachyon_cc_unittest(
    name = "matrix_unittests",
    srcs = ["baby_bear_row_major_matrix_unittest.cc"],
    deps = [
        ":baby_bear_row_major_matrix",
        "//tachyon/math/finite_fields/test:finite_field_test",
    ],
)
